home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / TAN_SND.ARJ / DEMO.PAS < prev    next >
Pascal/Delphi Source File  |  1991-07-28  |  2KB  |  90 lines

  1. { DEMO.PAS - Demo of drum routines for Tandy 1000 and/or PCJr }
  2.  
  3. uses noiz,drums;
  4.  
  5. procedure check_key;
  6. var ch: char;
  7. begin
  8.   if keyhit then
  9.   begin
  10.     ch:=upcase(fkey);
  11.     case ch of
  12.       '1': roto1(12,1);
  13.       '2': roto2(6,5);
  14.       '3': roto5(4,1,2);
  15.       '4': snare(10,2);
  16.       '5': tom(10,2);
  17.       '6': lowtom(10,2);
  18.       '7': bass(10,2);
  19.       '8': bass2(10,2);
  20.       '9': sims(10,5);
  21.       'A': sims1(10,5);
  22.       'S': sims2(10,5);
  23.       'D': sims3(10,5);
  24.       'F': echo(50,short);
  25.       'G': echo(50,long);
  26.       'H': echo(100,short);
  27.       'J': echo(100,long);
  28.       'K': lick(1);
  29.       'L': roll(2,2,21);
  30.       'C': begin
  31.              bass2(4,5);
  32.              snare(1,5); lowtom(1,5);
  33.              bass2(4,5);
  34.              snare(2,2);
  35.              roto5(2,0,2); roto5(2,10,2);
  36.              roto5(2,20,3);
  37.              snare(8,2); tom(4,4); lowtom(2,2);
  38.              echo(30,long);
  39.            end;
  40.       'Q',
  41.       #27: begin
  42.              writeln; quiet; halt;
  43.            end;
  44.     end;
  45.   end;
  46. end;
  47.  
  48. procedure main;
  49. const
  50.   ray: array[1..18] of string[80] =
  51.        ('1)   Roto1(12,1)',
  52.         '2)   Roto2(6,5)',
  53.         '3)   Roto5(8,0,5)',
  54.         '4)   Snare(10,2)',
  55.         '5)   Tom(10,2)',
  56.         '6)   LowTom(10,2)',
  57.         '7)   Bass(10,2)',
  58.         '8)   Bass2(10,2)',
  59.         '9)   Sims(10,5)',
  60.         'A)   Sims1(10,5)',
  61.         'S)   Sims2(10,5)',
  62.         'D)   Sims3(10,5)',
  63.         'F)   Echo(50,Short)',
  64.         'G)   Echo(50,Long)',
  65.         'H)   Echo(100,Short)',
  66.         'J)   Echo(100,Long)',
  67.         'Q),',
  68.         'ESC) Quit');
  69.  
  70. var i: integer;
  71.  
  72.   procedure beat;
  73.   begin
  74.     repeat
  75.       check_key;
  76.     until true = false;
  77.   end;
  78.  
  79. begin
  80.   writeln(#10'    - Drum Menu -'#10);
  81.   for i:=1 to 18 do writeln('    '+ray[i]);
  82.   write(#10' Command [1,2,3,4,5,Q,F]: ');
  83.   beat;
  84. end;
  85.  
  86. begin
  87.   drums.inturbo:=false; noiz.inturbo:=false;
  88.   main;
  89. end.
  90.